package com.mx.ipn.escom.wad.proyecto.documento.dao;

import java.util.List;
import javax.inject.Singleton;
import javax.inject.Named;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.mx.ipn.escom.wad.proyecto.documento.model.Revision;

/**
 * Clase que genera los objetos de acceso a dato (DAO) para la gestión de Revision
 * @author jorge
 *
 */
@Singleton
@Named("revisionDao")
public class RevisionDao extends HibernateDaoSupport{
	
	public List<Revision> findAll(){
		return getHibernateTemplate().loadAll(Revision.class);
	}
	
	public Revision findById(Integer id){
		return getHibernateTemplate().get(Revision.class, id);
	}
	
	@SuppressWarnings("unchecked")
	public List<Revision> findByExample(Revision entidad){
		return getHibernateTemplate().findByExample(entidad);
	}
	
	public Revision save(Revision entidad){
		getHibernateTemplate().save(entidad);
		return entidad;
	}
	
	public Revision update(Revision entidad){
		Revision entidadAux = getHibernateTemplate().merge(entidad);
		getHibernateTemplate().update(entidadAux);
		return entidadAux;
	}
	
	public Revision delete(Revision entidad){
		getHibernateTemplate().refresh(entidad);
		getHibernateTemplate().delete(entidad);
		return entidad;
	}

}
